Current control apparatus

ABSTRACT

A current control apparatus capable of accurately and stably controlling a current which is supplied to an object of control such as a coil of a solenoid even when a control target value varies greatly at a predetermined time interval. In this apparatus, a value (y 3 ) of a current passing through the object of control ( 33 ) is detected, and the detected current value (y 3 ) is output at a predetermined time intervals. On the basis of a preceding corrected current value (y 4 old) and a presently outputted current value (y 3 ), a presently corrected current value (y 4 ) is computed so that this value comes to be intermediate between the preceding corrected current value (y 4 old) and presently outputted current value (y 3 ), and the resultant current value is output. On the basis of a precedingly corrected duty (d 3 old) and a presently outputted duty (d 1 ), a presently corrected duty (d 3 ) is computed so that the presently corrected duty (d 3 ) has a value intermediate between those of the precedingly corrected duty (d 3 old) and the presently outputted duty (d 1 ). On the basis of a target current value (x 1 ) to be input, the outputted corrected current value (y 4 ) and the outputted corrected duty ( 3 d), the duty (d 1 ) is computed, and the result is outputted.

TECHNICAL FIELD

The present invention relates to a current control apparatus forcontrolling the magnitude of a current applied to an object of control,and more particularly to a current control apparatus which is used forcontrolling an actuator that produces a force corresponding to themagnitude of the current applied.

BACKGROUND ART

Electromagnetic proportional valves are used to control the flow rate ofpressured oil fed to hydraulic actuators in hydraulic circuits ofconstruction machines and the like. The degree to which suchelectromagnetic proportional valves are open is virtually proportionalto the magnitude of the current applied from a controller to a solenoidattached to the electromagnetic proportional valve. The pressured oil isthus fed to the hydraulic actuator at a flow rate corresponding to thedegree to which the valve is open.

In this case, the excitation current actually flowing through thesolenoid coil is detected, and the controller controls the currentapplied to the solenoid so as to obtain a target current value, usingthe detected current value as the amount of the feedback.

That is, the controller computes at a prescribed time interval a dutycorresponding to the target current value that is input at theprescribed time interval, and generates a pulse signal having this duty,which are applied to a driving transistor. When the driving transistoris actuated according to the pulse signal input, current is applied tothe solenoid coil, resulting in that the aforementioned target currentvalue is obtained.

However, in actual operations, as a period of applied electricitybecomes longer and the temperature of oil, etc. is increased, thetemperature of the solenoid coil becomes higher, and the direct currentresistance of the coil, etc. is increased accordingly, which preventscurrent corresponding to the target current value from being applied tothe coil and results in lower control precision.

In an effort to prevent the loss of precise control caused by suchincreases in the coil temperature, Japanese Patent Publication 62-59444discloses technology that a current is allowed to flow through thesolenoid at a constant level which does not trigger the hydraulicactuator when the operating lever is returned to the neutral position incontrollers designed to provide the solenoid with a control target value(target current value) in response to the operation of the operatinglever the correction coefficient is determined based on the value of theduty at this time and the filtered average detected current value, andthe value of the duty is corrected using this correction coefficient.

Although there are no problems when the operating lever is in a neutralzone in the technology described in this patent publication, controlerrors are produced, even when the duty is corrected, in cases where theoperating lever is moved from the neutral zone to full operation.

In the device described in Japanese Patent Publication 7-66299, theexcitation current flowing through the solenoid coil is integrated byintegration means in synchronization with a PWM pulse signal, and theduty is corrected on the basis of the control target value and theintegrated value output from the integration means. This allows errorsin control to be avoided when the operating lever is moved from theneutral zone to full operation in order to increase the excitationcurrent to the coil.

In the devices described above, it is assumed that the control targetvalue (target current value) is input to the controller in response tooperation of the operating lever, and the control target value is notexpected to fluctuate greatly.

However, in cases where the control target value input to the controllerhas been produced in response to a signal indicating the engine rpm, theconsiderable fluctuation in the engine rpm results in considerablefluctuation in the control target value at a prescribed time interval.

Such considerable fluctuation in the control target value at aprescribed time interval cannot be dealt with by the technologydescribed in the aforementioned Japanese Patent Publication 62-59444,and control errors are still produced.

Further, when the technology described in the aforementioned JapanesePatent Publication 7-66299 is applied to deal with the fluctuation, therealization of the technology is extremely difficult and controlinstability is incurred.

That is, the excitation current to the coil is integrated according toPWM pulse cycles in the device described above, resulting in the needfor A/D conversion at high speed sampling within a PWM pulse cycle forhigh-precision integration of the excitation current. This requires ahigh-speed, high-precision A/D converter, which is extremely difficultto realize.

The control current also tends to be unstable for the following reasons.

1) As it is difficult to achieve the feedback of the integration withinevery two cycle, it is likely to generate lag and result in instability.

2) In the case of changing the control current value dictated on thebasis of the correction coefficient that is to be determined, thecorrection coefficient is either too great or too little because theactual current cannot be immediately adjusted due to the inductance ofthe solenoid. This is produced by delays of 1 cycle or more for the samereason as in 1), again tending to result in instability.

As described above, a problem in the prior art is that current appliedto the object of control such as a solenoid coil cannot be controlledwith high precision in a stable manner in cases involving considerablefluctuation in the control target value at a prescribed time interval.

The present invention is intended to remedy such a drawback.

DISCLOSURE OF THE INVENTION

The main invention of the present invention is a current controlapparatus having duty computing means for computing and outputting at aprescribed time interval a duty corresponding to a target current valueinput at the prescribed time interval, pulse signal generating means forgenerating a pulse signal having the duty output from the duty computingmeans, and an object of control to which electricity is supplied whenthe object is driven by the pulse signal generated by the pulse signalgenerating means, the current control apparatus comprising current valuedetecting means for detecting a current value applied to the object ofcontrol and for outputting the detected current value at a prescribedtime interval; corrected current value computing means for computing andoutputting at a prescribed time interval a present corrected currentvalue, based on a preceding corrected current value and the currentvalue presently output from the current value detecting means, so thatthe present corrected current value has a value intermediate between thepreceding corrected current value and the current value presently outputfrom the current value detecting means; and corrected duty computingmeans for computing and outputting at a prescribed time interval thepresent corrected duty, based on the preceding corrected duty and theduty presently output from the duty computing means, so that the presentcorrected duty has a value intermediate between the preceding correctedduty and the duty presently output from the duty computing means,wherein the duty computing means computes and outputs the duty based onthe input target current value, the corrected current value output fromthe corrected current value computing means and the corrected dutyoutput from the corrected duty computing means.

Because the duty computing means thus computes and outputs the dutybased on the input target current value, the corrected current valueoutput from the corrected current value computing means, and thecorrected duty output from the corrected duty computing means, currentcoinciding with the target current value can flow through the object ofcontrol and control precision can be dramatically improved, despite theresistance of the control object and the changes in the voltage or thelike from the power source applied thereto.

Further, the present corrected current value used to compute the dutyoutput from the duty computing means is also computed by the correctedcurrent value computing means at prescribed time interval based on thepreceding corrected current value and the current value presently outputfrom the current value detecting means, so that the present correctedcurrent value is midway between the preceding corrected current valueand the current value presently output from the current value detectingmeans, and the present corrected duty used to compute the duty outputfrom the duty computing means is also computed by the corrected dutycomputing means at prescribed time interval based on the precedingcorrected duty and the duty presently output from the duty computingmeans, so that the present corrected duty is midway between thepreceding corrected duty and the duty presently output from the dutycomputing means. Therefore, the value of the duty with good response andfollow-up performance can be computed and output, and control stabilitycan be dramatically improved, despite considerable fluctuation in thetarget current values at a prescribed time interval.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram illustrating an embodiment of the currentcontrol apparatus according to the present invention, wherein thecontroller is constituted by a microprocessor, and an electromagneticdevice is constituted by an electromagnetic proportional valve;

FIG. 2 is a block diagram illustrating the embodiment of the currentcontrol apparatus according to the present invention;

FIG. 3 is a sectional view illustrating the structure of the solenoidfor the proportional valve illustrated in FIG. 1;

FIG. 4 is an electrical circuit diagram illustrating the relationshipbetween current and voltage applied to a resistor and the proportionalelectromagnetic valve illustrated in FIG. 1;

FIG. 5 is a flowchart illustrating the procedure performed by the dutycomputing component illustrated in FIG. 1;

FIG. 6 is a flowchart illustrating the procedure performed by the filtercomputing component illustrated in FIG. 1;

FIG. 7 illustrates the transfer function of the filter computingcomponent illustrated in FIG. 1;

FIG. 8 is a flowchart illustrating the procedure performed by the filtercomputing function illustrated in FIG. 1;

FIG. 9 is a flowchart illustrating the procedure performed by the filtercomputing component illustrated in FIG. 1;

FIG. 10 is a flowchart illustrating the procedure performed by thefilter computing component illustrated in FIG. 1;

FIGS. 11(a) through 11(g) are timing charts for the signal at each partin FIG. 1;

FIG. 12 is a graph illustrating the relation between actually measuredcurrent value and theoretical current value;

FIG. 13 is a graph illustrating the relation between actually measuredcurrent value and theoretical current value; and

FIG. 14 illustrates the content stored in a register array, which isused to describe the sectional average computing process in FIG. 10.

BEST MODE FOR CARRYING OUT THE INVENTION

Embodiments of the current control apparatus according to the presentinvention are described below with reference to the accompanyingdrawings.

FIG. 2 is a block diagram of the device in an embodiment, where thecurrent control apparatus comprises a duty computing component 10whereby the duty (duty factor) d1 corresponding to a control targetvalue (target current value) x1 input at a constant cycle t1 is computedand output at the constant cycle t1 based on the corrected current valuey4 and corrected duty d3 described below; pulse signal generatingcomponent 11 for generating a PWM pulse signal d2 corresponding to theduty d1 output from the duty computing component 10; an excitationcurrent forming component 12 for producing an excitation current Icorresponding to the pulse signal d2 generated by the pulse signalforming component 11; an electromagnetic device 13 whereby theexcitation current I produced by the excitation current formingcomponent 12 is applied to the coil of a proportional solenoid; acurrent detecting component 14 whereby the excitation current I flowingthrough the coil of the proportional solenoid of the electromagneticdevice 13 is detected as an analog signal y1, which is converted to adigital signal y3 at a constant cycle t2 and is then output; a filtercomputing component 15 whereby a filter computing process describedbelow is performed at a constant cycle t3 for the current value signaly3 output from the current detecting component 14, and the filteredcorrected current value y4 is output to the duty computing component 10;and a filter computing component 16 whereby a filter computing processdescribed below is performed at the constant cycle t3 for the duty d1output from the aforementioned duty corrected component 10, and thefiltered corrected duty d3 is output to the aforementioned dutycomputing component 10.

FIG. 1 illustrates the block diagram of FIG. 2 in greater detail,wherein an electromagnetic proportional valve 33 is employed as theelectromagnetic device 13.

The current control apparatus is constituted by a controller 30 whichcomprises a microprocessor or the like for inputting a control targetvalue x1 and outputting a PWM pulse signal d2, and a drive component 50which is operated to adjust the degree to which the proportionalelectromagnetic valve 33 is open, according to pulse signals d2 inputfrom the controller 30.

The controller 30 comprises a duty computing component 30 a whichcorresponds to the duty computing component 10 of FIG. 2, a PWM outputcomponent 30 d which corresponds to the pulse signal forming component11 of FIG. 2, an A/D converter 30 e constituting the current detectingcomponent 14 of FIG. 2, a filter computing component 30 c whichcorresponds to the filter computing component 15 of FIG. 2, and a filtercomputing component 30 b which corresponds to the filter computingcomponent 16 of FIG. 2.

The drive component 50 comprises a drive circuit 34 which corresponds tothe excitation current forming component 12 of FIG. 2, a power source37, a flywheel diode 36, a proportional electromagnetic valve 33 whichcorresponds to the electromagnetic device 13 of FIG. 2, a currentdetecting resistor 35 constituting the current detecting component 14 ofFIG. 2, and a hardware filter 32.

In the first stage of the controller 30, the control target value(target current value flowing through the proportional electromagneticvalve 33) is produced in response to a signal or the like indicating theengine rpm, the current is converted to the target current value x1which is to flow through the solenoid coil of the proportionalelectromagnetic valve 33, and is input to the controller 30.

A PWM pulse signal d2 is output from the PWM output component 30 d ofthe controller 30 and is applied to the drive circuit 34 of the drivecomponent 50.

The drive circuit 34 primarily comprises a transistor, which is actuatedin response to a pulse signal d2 applied to the transistor base so thata prescribed voltage is applied via the power source 37 to the solenoidcoil of the proportional electromagnetic valve 33 to pass the excitationelectromagnetic current I.

A battery may be used as the power source 37 here, and can be charged byan alternator or the like.

FIG. 3 is a sectional view of the solenoid 40 which constitutes theproportional electromagnetic valve 33, and comprises a plunger 41 whichis a moveable iron core, a stationary iron core 42, and a coil 43.Energy is applied to the plunger 41 in response to the current value Iflowing through the coil 43, and the plunger 41 is moved to a positionat which this energy and the spring energy of a spring 45 opposing theplunger 41 are in balance. A spool valve 44 of the valve is connected tothe tip 41 a of the plunger 41, and the spool valve 44 is movedaccording to the positional changes A of the aforementioned plunger 41,thereby adjusting the degree to which the valve is open.

The current value I flowing through the aforementioned coil 43 isdetected by the detecting resistor 35 in the form of voltage y1 appliedto both ends of the resistor 35, and this signal y1 is applied to thehardware filter 32.

The hardware filter 32 is a low pass filter having cut-off frequencycharacteristics sufficiently lower than the carrier frequency of the PWMpulse, and the signal y2 passing through the hardware filter 32 isapplied to the A/D converter 30 e where it is converted to a digitalsignal y3.

This results in the elimination of areasing caused by sampling and thecarrier when the excitation current is detected by the detectingresistor 35, allowing the A/D converter 30 e to detect the excitationcurrent with high precision.

FIGS. 11(a) through 11(g) give an example of the signal at eachcomponent in FIG. 1.

The details of the computing process performed by the duty computingcomponent 30 a, filter computing component 30 b, and filter computingcomponent 30 c of the controller 30 are described below.

FIG. 4 illustrates the relation between current and voltage applied tothe detecting resistor 35 and the coil 43 of the solenoid 40 in theproportional electromagnetic valve 33.

As shown in the FIG. 4, R is the resistance of the coil 43, r is theresistance of the detecting resistor 35, I is the current value of theexcitation current flowing through the coil 43, and V is the voltageapplied to both ends of the detecting resistor 35 and the coil 43.

The relation represented by the following equation 1 is establishedbetween the current value I, voltage V, and pulse signal d2, that is,the proportion of time (duty) d2 for which the signal is on relative tothe time of one pulse cycle.

I=d 2 ·V/(R+r)  (1)

The relation represented by the following Equation (2) is meanwhileestablished between the resistance r, the aforementioned excitationcurrent I, and the voltage v at both ends of the detecting resistor 35,that is, the voltage v relative to the detected current value y1.

v=I·r  (2)

Equation (2) is substituted for Equation (1), giving Equation (3).

v=d 2·(V/(R+r))·r  (3)

Here, assuming the voltage V and resistance values R and r are constant,the detected current value y1 (voltage v) of the detecting resistor 35is determined only by the duty d2.

In this case, the duty d1 (d2) showing the theoretical current value iscoincident with y1 showing the measured current value, making itunnecessary to correct the measured current value so that it coincideswith the theoretical current value. That is, there is no need to computed1 by the correction operation described below using the duty computingcomponent 30 a based on the corrected duty d3 which corresponds to dutyd1 and the corrected current value y4 which corresponds to the currentvalue y1.

However, the voltage V in Equation (3) fluctuates because of variationin the charging voltage of the power source 37 and the like due toindividual differences between alternators. The resistance R alsofluctuates according to changes in temperature.

The detected current value y1 (voltage v) of the detecting resistor 35is thus never determined by the duty d2 alone, and the theoretical andmeasured current values do not actually coincide with each other. Thecorrected computation described below is thus needed when determiningthe d1 using the duty computing component 30 a in order to coincide themeasured current value with the theoretical current value.

That is, as shown in FIG. 5, the correction coefficient k is determinedat the duty computing component 30 a, which is as follows (step 101):

k=f(d 3 )/y 4  (4)

and the corrected duty d1 which corresponds to the control target valuex1 is computed on the basis of the correction coefficient k, which is asfollows (step 102).

d 1 =x 1·k  (5)

In Equation (4), f(d3) is the theoretical current value obtained fromthe corrected duty d3, and the corrected current value y4 is themeasured current value.

As indicated in Equation (4), k=1 if the theoretical current value f(d3)and the measured current value y4 are equivalent. In this case, thecontrol target value x1 in Equation (5) may be considered the duty d1 assuch, and no correction is needed.

Further, in Equation (4), k>1 if the measured current value y4 is lowerthan the theoretical current value f(d3). In this case, correctioncomputation is carried out to increase the control target value x1 inEquation (5) to obtain the duty d1.

Also, in Equation (4), k<1 if the measured current value y4 is greaterthan the theoretical current value f(d3). In this case, correctioncomputation is carried out to lower the control target value x1 inEquation (5) to obtain the duty d1.

FIG. 12 gives an example of the relation between the corrected duty d3and theoretical current value f(d3). In this case, the theoreticalcurrent value is:

f(d 3)=a·d 3 +b  (6)

where a and b are constants greater than 0, and d3 and f(d3) areproportionally related to each other.

Actually, however, as shown in FIG. 13, d3 and f(d3) are notproportional when d3 is close to 0 or is close to its maximum value.

That is, FIG. 13 shows the relation between the theoretical currentvalue d1 and the measured current value y4 when the output for the dutycomputing component 30 a in the circuit in FIG. 1 is input as such asthe control target value x1 to the duty computing component 30 a.

Here, as apparent from Equation (1), the relation between the duty d1and the average current I0 of the current flowing through the coil 43 ofthe solenoid 40 in FIG. 3 is as follows.

I 0 =d 1 ·V/(R+r)  (7)

In actuality, however, Equation (7) is the relation when the solenoid 40is driven under ideal conditions, and since voltage loss occurs in thediode 36 under actual conditions, the relation (proportional relation)in the aforementioned Equation (7) is not established, but the relationbecomes in a nonlinear relation (see FIG. 13).

The position of the plunger 41 of the solenoid 40 changes according tothe current value I flowing through the coil 4, as described above. Theinductance L of the solenoid 40 changes with the changes in the plungerposition. That is, the relation is established between the inductance Land the gap as in the following equation:

L∝1/g  (8)

where g is the gap between the plunger 41 and stationary iron core 42.

The proportional relation I0∝d1 in the aforementioned Equation (7) thusis not obtained as a result of these nonlinear components, and therelation of the nonlinear components in FIG. 13 is determined by thebasic design values of the solenoid 40. Thus, the function f in FIG. 13is predetermined according to the basic design values of the solenoid40, and a theoretical current value f(d3) should be determined from thefunction f. Of course, if the nonlinear components can be approximatedas linear ones, a theoretical current value f(d3) can be determined fromthe function f (see Equation (6)) for the proportional relation shown inFIG. 12.

The computation for determining the correction coefficient k is notlimited to the computation represented in the aforementioned Equation(4). It is possible to use any correction coefficient allowing theactual measured current value to be coincided with the theoreticalcurrent value.

When the control target value x1 becomes zero, the duty d1 becomes zerobased on the aforementioned Equation (5) (d1=x1·k). Since the excitationcurrent y1 is also zero at this time, the corrected current value y4computed by the filter computing component 30 c becomes also zeroultimately. When the corrected current value y4 is substituted as suchinto the aforementioned Equation (4) (k=f(d3)/y4) to determine thecorrection coefficient k, the correction coefficient k is indefinite,and the duty d1 obtained on the basis of the correction coefficient kshows abnormal values.

Thus, when the control target value x1 is zero, Equation (4) is notcomputed as such, but the value for the correction coefficient k isrecorded and stored, and the value of the correction coefficient krecorded and stored immediately before the control target value x1became zero is used to compute Equation (5), so as to determine the dutyd1. A duty d1 showing abnormal values can thus be avoided.

A limiter may be applied to the computed results of Equation (5) so asto avoid the output of abnormal duty d1 values.

Examples of methods for applying a limiter include:

a) suitably presetting the maximum and minimum values for the computedresults d1 of Equation (5); and

b) determining D % value relative to the computed results d1, that is,(D/100)·d1 when the correction coefficient k is 1 in Equation (5), andestablishing −(D/100)·d1 as the minimum value and (D/100)·d1 as themaximum value.

In the initial stages immediately following the turning on of the powersource or the like, the values for d3 and y4 output from filtercomputing components 30 b and 30 c are unstable, and the duty d1determined on that unstable basis sometimes shows abnormal values. Thus,in the initial stages immediately after the power source is turned on,the correction coefficient k is uniformly established as 1, and thecorrection coefficient k is determined on the basis of theaforementioned Equation (4) after the initial stage has elapsed (after afixed period of time has elapsed).

FIGS. 6 and 8 show the process for determining the corrected duty d3 andcorrected current value y4 necessary for determining the correctioncoefficient k in step 101 in FIG. 5. This computing process is performedby filter computing components 30 b and 30 c.

That is, the filter computing components 30 b and 30 c perform filteringusing primary low-pass filters as the filters, and output d3 and y4based on d1 and y3. Expressed as a transfer function, where X (d1, y3)is the input, and Y (d3, y4) is the output, the transfer function withprimary delay is represented by the following equation, as shown in FIG.7:

Y/X=1/(1+Ts)  (9)

where T is the filter time constant.

The filters are not limited to primary low-pass filters, but may also behigher-order low-pass filters.

Equation 9 is performed in the computation process shown in FIG. 8.

The computing process shown in FIG. 8 is started every sampling time ΔT(cycle t3 shown in FIGS. 11(f) and 11(g)) and is repeatedly performed,and corrected value Y is obtained by correcting the input X.

In the computing process, first, the new nth data Xn is sampled, and Xnserves as the content of Xnew (step 301).

Then, based on Xnew presently obtained in step 301 and the previouslycomputed corrected value Xold, the present corrected value X isdetermined as follows:

X=c·Xnew+(1−c)·Xold  (10)

where c is the filter coefficient, 0<c≦1.

Here, the relation between the filter time constant T, the sampling timeΔT and the filter coefficient c is expressed as follows (step 302).

c=T/(T+ΔT)  (11)

The corrected value X presently obtained in step 302 serves as thecontents of Xold (step 303), and Xold is output as corrected value Y bythe filter computing components 30 b and 30 c (step 304).

The corrected duty d3 is computed from the following equation:

d 3 =c·d 1+(1−c)·d 3 old  (12)

which is obtained from Equation (10) by substituting d3 for X inEquation (10), d1 for Xnew and d3old for Xold. The result is output fromthe filter computing component 30 b.

In other words, a present corrected duty d3 is computed based on thepreceding corrected duty d3old and the duty d1 presently output from theduty computing component 30 a such that the present corrected duty d3has a value intermediate between the preceding corrected duty d3old andthe duty d1 presently output from the duty computing component 30 a. Thepresent corrected duty d3 is then output from the filter computingcomponent 30 b. The “value intermediate between” includes the value ofthe preceding corrected duty d3old and the value of the duty d1presently output from the duty computing component 30 a. In other words,it means any value between d3old and d1 (step 201).

The corrected current value y4 is then computed from the followingequation:

 y 4 =c·y′3+(1−c)·y 4 old  (13)

which is obtained by substituting y4 for X in the aforementionedEquation (10), y′3 (this is obtained on the basis of y3) for Xnew andy4old for Xold. The result is output from the filter computing component30 c.

In other words, a suitable present corrected current value y4 iscomputed on the basis of the preceding corrected current value y4old andthe average current value y′3 obtained on the basis of the current valuey3 presently output from the A/D converter 30 e such that the presentcorrected current value y4 has a value intermediate between thepreceding corrected current value y4old and the average current valuey′3 obtained on the basis of the current value y3 output from the A/Dconverter 30 e, and it is then output from the filter computingcomponent 30 c. The “value intermediate between” includes the value ofthe preceding corrected current value y4old and the average currentvalue y′3 obtained on the basis of the current value y3 presently outputfrom the A/D converter 30 e. In other words, it means any value betweeny4old and y′3 (step 202).

The process in FIG. 6 is performed every sampling time ΔT, but theprocess in FIG. 5 does not have to be synchronized with the samplingtime ΔT.

FIG. 9 is a flowchart illustrating the procedure for determining theaverage current value y′3 in the aforementioned Equation (13).

As shown in this figure, the count value i of the counter (initial valueis 0) is incremented by +1 (step 401), and A/D conversion is performedby the A/D converter 30 e to obtain a digital signal y3 (step 402).

Here, an array of n registers capable of storing n (up to before ntimes) digital data y3 is prepared, and the content of the ith registery3i becomes the digital data y3 obtained at the count value i (step403).

It is then determined whether or not the present count value i hasreached n (step 404).

If it is determined that the count value i has not reached n, theprocedure moves to step 401, and the same process is repeated, but if itis determined that the count value i has reached n, the average valuey′3 of the n (up to before n times) digital data y3i (i=1 to n) storedin the registers is determined (step 405). $\begin{matrix}{{y^{\prime}3} = {\left( {1/n} \right) \cdot {\sum\limits_{j = 1}^{n}{y3}^{j}}}} & (14)\end{matrix}$

The value i is then reset to 0 (step 406), and the procedure moves againto step 401.

The average current value y′3 for the past n times including thepresently obtained current value y3 is computed, and it is substitutedinto Equation (13) to compute the corrected current value y4.

The process for determining the average current value y′3 in FIG. 9 isperformed at a more rapid interval than the interval in FIG. 6.

In Equation (13), the presently obtained current value y3 may be used asit is instead of the average current value y′3.

As described above, the corrected current value y4 and the correctedduty d3 necessary for determining the correction coefficient k aredetermined by performing what is referred to as filter computation usingthe filter computing components 30 b and 30 c.

In this case, instead of using the duty d1 and current value y3 as theyare, the filter computation may be performed by using the duty d1 andcurrent value y3 on which integration process is performed. Theintegrated value should be reset each time the filter computation iscarried out.

As an alternative to the aforementioned filter computation, thesectional average computation process shown in FIG. 10 may be preformed,so as to determine the corrected duty d3 and the corrected current valuey4 necessary for determining the correction coefficient k.

In this case, the process in FIG. 10 is performed instead of performingthe processes in FIGS. 6 and 8.

Referring to FIG. 10, i is first initialized to 1 (step 501).

Here, as shown in FIG. 14, a register array {d1i, d12, . . . , d1n}capable of storing n (up to before n times) digital data d1 in nregisters is prepared, where d1i indicates the value of d1 stored in theith register of the register array.

A process is performed in which the value of d1 stored in the i+1thregister of the previous register array is stored anew in the ithregister of the present register array (step 502).

Then, i is incremented by +1 (step 503), and the same process isrepeated (step 502 to 503) unless i reaches n (No in step 504).

When i reaches n, a process is performed in which the duty d1 presentlyoutput from the duty computing component 30 a is stored in the nthregister of the present register array (step 505).

The arrows in FIG. 14 show the movement of the register array storagelocations described above. That is, the data for d1 up to before n timesis stored and held each time in the register array, and the storedcontents are renewed each time.

The average value for these sections (i=1 to n) is then computed in thefollowing manner based on the stored contents d1i (i=1 to n) of thepresent register array thus obtained, and the average value by sectionis used as the corrected duty d3. $\begin{matrix}{{d3} = {\left( {1/n} \right) \cdot {\sum\limits_{j = 1}^{n}{d1j}}}} & (15)\end{matrix}$

That is, the average value of the data for the duty d1 up to before ntimes is used as the corrected duty d3 each time and is then output(step 506).

The corrected duty current value y4 is determined in the same manner asthe corrected duty d3.

That is, i is initialized to 1 (step 507), and a process is performed inwhich the value for y′3 stored in the i+1th register of the previousregister array is stored anew in the ith register of the presentregister array (step 508).

The value for i is then incremented by +1 (step 509), and the sameprocess is repeated (step 508 to 509) unless i reaches n (NO in 510).

When i reaches n, a process in performed in which the average currentvalue y′3 presently obtained as a result of the computation of theaverage current value in FIG. 9 is stored in the nth register of thepresent register array (step 511).

The data for y′3 up to before n times is stored and held each time inthe register array, and the stored contents are updated each time.

The average value for these sections (i=1 to n) is then computed in thefollowing manner based on the stored contents y′3i (i=1 to n) of thepresent register array thus obtained, and the average value by sectionis used as the corrected current value y4. $\begin{matrix}{{y4} = {\left( {1/n} \right) \cdot {\sum\limits_{j = 1}^{n}{y^{\prime}3j}}}} & (16)\end{matrix}$

That is, the average value of the data for the average current value y′3up to before n times is used as the corrected current value y4 eachtime, and is then output (step 512).

In the foregoing, a case in which the corrected current value y4 and thecorrected duty d3 are determined by the filter computation shown in FIG.6 and a case in which the corrected current value y4 and the correctedduty d3 are determined by the section average computation shown in FIG.10 are separately described. Alternatively, it is also possible todetermine the corrected current value y4 by the filter computation shownin step 202 of FIG. 6, and to determine the corrected duty d3 by thesection average computation shown in steps 501 through 506 in FIG. 10.Conversely, it is also possible to determine the corrected current valuey4 by the section average computation shown in steps 507 through 512 ofFIG. 10, and to determine the corrected duty d3 by the filtercomputation shown in step 201 in FIG. 6.

FIGS. 11(a) through 11(g) illustrate timing charts for a signal at eachcomponent in FIG. 1.

As shown in FIG. 1(a), the control target value x1 is input at eachcycle t1. This figure shows that the value of the control target valuex1 fluctuates greatly at each cycle t1.

FIG. 11(b) shows the duty d1 computed and output from the duty computingcomponent 30 a. Since the duty d1 is obtained by correcting the inputcontrol target value x1 on the basis of the corrected current value y4and the corrected duty d3, the duty d1 has no response lag to the inputx1 shown in FIG. 11(a).

FIG. 11(c) shows the current y1 (analog signal) detected by theexcitation current detecting resistor 35. The figure shows that there isa response lag corresponding to the inductance of the coil 43 of thesolenoid 40 with respect to the duty d1 in FIG. 11(b).

FIG. 11(d) shows the current y2 (analog signal) having been processed bythe hardware filter 32. The figure shows that high-pass frequencycomponents have been eliminated.

FIG. 11(e) shows the current y3 (digital signal) having been processedby the A/D converter 30 e. This figure shows that the A/D converter 30 econverts the analog signal y2 to a digital signal y3 at a cycle t2, andthen outputs the digital signal y3.

FIG. 11(f) shows the corrected current y4 after the correction processby the filter computing component 30 c. The filter computing component30 c performs the filter computation shown in step 202 of FIG. 6 or thesection average computation shown in steps 507 through 512 in FIG. 10 atcycle t3, and then outputs the corrected current value y4. This figureshows that the correction is made so that the fluctuation in the signalsy4 shown in FIG. 11(f) is extremely smaller compared with thefluctuation in the signals y3 shown in FIG. 11(e).

FIG. 11(g) shows the corrected duty d3 after the correction process bythe filter computing component 30 b. The filter computing component 30 bperforms the filter computation shown in step 201 of FIG. 6 or thesection average computation shown in steps 501 through 506 in FIG. 10 atcycle t3, and then outputs the corrected duty d3 successively. Thisfigure shows that the correction is made so that the fluctuation in thesignals d3 shown in FIG. 11(g) is extremely smaller compared with thefluctuation in the signals d1 shown in FIG. 11(b).

As described in the foregoing, the corrected current value y4 andcorrected duty d3 having smaller fluctuations than those in the signalsy3 and d1 are obtained (see FIGS. 11(f) and (g)), and then the duty d1is determined by correcting the input x1 based on the corrected currentvalue y4 and corrected duty d3. As a result, even if substantialvariation occurs in the control target value x1 for every cycle t1 (seeFIG. 11(a)), it is possible to compute and output a duty value d1 withgood response and follow-up performance (see FIG. 11(b)), resulting ingreat improvement in control stability.

What is claimed is:
 1. A current control apparatus including dutycomputing means for computing and outputting at a prescribed timeinterval a duty corresponding to a target current value input at theprescribed time interval, pulse signal generating means for generating apulse signal having the duty output from the duty computing means, andan object of control to which electricity is supplied when the object isdriven by the pulse signal generated by the pulse signal generatingmeans, the current control apparatus comprising: current value detectingmeans for detecting a current value applied to the object of control,and for outputting the detected current value at a prescribed timeinterval; corrected current value computing means for computing andoutputting at a prescribed time interval a present corrected currentvalue based on a preceding corrected current value and the current valuepresently output from the current value detecting means, so that thepresent corrected current value has a value intermediate between thepreceding corrected current value and the current value presently outputfrom the current value detecting means; and corrected duty computingmeans for computing and outputting at a prescribed time interval apresent corrected duty based on the preceding corrected duty and theduty presently output from the duty computing means, so that the presentcorrected duty has a value intermediate between the preceding correctedduty and the duty presently output from the duty computing means,wherein the duty computing means computes and outputs the duty based onthe input target current value, the corrected current value output fromthe corrected current value computing means and the corrected dutyoutput from the corrected duty computing means.
 2. A current controlapparatus including duty computing means for computing and outputting ata prescribed time interval a duty corresponding to a target currentvalue input at the prescribed time interval, pulse signal generatingmeans for generating a pulse signal having the duty output from the dutycomputing means, and an object of control to which electricity issupplied when the object is driven by the pulse signal generated by thepulse signal generating means, the current control apparatus comprising:current value detecting means for detecting a current value applied tothe object of control, and for outputting the detected current value ata prescribed time interval; corrected current value computing means forcomputing an average of the current value presently output from thecurrent value detecting means and a specified number of previous outputcurrent values at a prescribed time interval, and for outputting theresult as the corrected current value; and corrected duty computingmeans for computing an average of the duty presently output from theduty computing means and a specified number of previous output duties ata prescribed time interval, and for outputting the result as thecorrected duty, wherein the duty computing means computes and outputsthe duty based on the input target current value, the corrected currentvalue output from the corrected current value computing means and thecorrected duty output from the corrected duty computing means.
 3. Acurrent control apparatus including duty computing means for computingand outputting at a prescribed time interval a duty corresponding to atarget current value input at the prescribed time interval, pulse signalgenerating means for generating a pulse signal having the duty outputfrom the duty computing means, and an object of control to whichelectricity is supplied when the object is driven by the pulse signalgenerated by the pulse signal generating means, the current controlapparatus comprising: current value detecting means for detecting acurrent value applied to the object of control, and for outputting thedetected current value at a prescribed time interval; corrected currentvalue computing means for computing and outputting at a prescribed timeinterval a present corrected current value based on a precedingcorrected current value and the current value presently output from thecurrent value detecting means, so that the present corrected currentvalue has a value intermediate between the preceding corrected currentvalue and the current value presently output from the current valuedetecting means; and corrected duty computing means for computing anaverage of the duty presently output from the duty computing means and aspecified number of previous output duties at a prescribed timeinterval, and for outputting the result as the corrected duty, whereinthe duty computing means computes and outputs the duty based on theinput target current value, the corrected current value output from thecorrected current value computing means and the corrected duty outputfrom the corrected duty computing means.
 4. A current control apparatusincluding duty computing means for computing and outputting at aprescribed time interval a duty corresponding to a target current valueinput at the prescribed time interval, pulse signal generating means forgenerating a pulse signal having the duty output from the duty computingmeans, and an object of control to which electricity is supplied whenthe object is driven by the pulse signal generated by the pulse signalgenerating means, the current control apparatus comprising: currentvalue detecting means for detecting a current value applied to theobject of control, and for outputting the detected current value at aprescribed time interval; corrected current value computing means forcomputing an average of the current value presently output from thecurrent value detecting means and a specified number of previous outputcurrent values at a prescribed time interval, and for outputting theresult as the corrected current value; and corrected duty computingmeans for computing and outputting at a prescribed time interval apresent corrected duty based on the preceding corrected duty and theduty presently output from the duty computing means, so that the presentcorrected duty has a value intermediate between the preceding correctedduty and the duty presently output from the duty computing means,wherein the duty computing means computes and outputs the duty based onthe input target current value, the corrected current value output fromthe corrected current value computing means and the corrected dutyoutput from the corrected duty computing means.